﻿using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
using Volo.Abp;
using System.ComponentModel.DataAnnotations;

namespace Bridge.System.Domain
{
    [Comment("文件管理")]
    [Table("t_sys_file")]
    public class SysFile : AuditedAggregateRoot<Guid>, ISoftDelete, IMultiTenant
    {
       public SysFile() { }
        public SysFile(Guid key)
        {
            this.Id = key;
        }
        /// <summary>
        /// 文件原名
        /// </summary>
        [MaxLength(500)]
        [Comment("文件原名")]
        public string RealName { get; set; }
        /// <summary>
        /// 文件类型
        /// </summary>
        [MaxLength(100)]
        [Comment("文件类型")]
        public string FileType { get; set; }
        /// <summary>
        /// 存储文件名
        /// </summary>
        [MaxLength(500)]
        [Comment("存储文件名")]
        public string FileName { get; set; }
        /// <summary>
        /// 文件存储地址 eg：/uploads/20220202
        /// </summary>
        [MaxLength(500)]
        [Comment("文件存储地址")]
        public string FileUrl { get; set; }
        /// <summary>
        /// 仓库位置 eg：/uploads
        /// </summary>
        [MaxLength(200)]
        [Comment("仓库位置")]
        public string StorePath { get; set; }
        /// <summary>
        /// 文件大小
        /// </summary>
        [MaxLength(50)]
        [Comment("文件大小")]
        public string FileSize { get; set; }
        /// <summary>
        /// 文件扩展名
        /// </summary>
        [MaxLength(50)]
        [Comment("文件扩展名")]
        public string FileExt { get; set; }
   
        /// <summary>
        /// 存储类型
        /// </summary>
        [Comment("存储类型")]
        public int? StoreType { get; set; }
        /// <summary>
        /// 访问路径
        /// </summary>
        [MaxLength(500)]
        [Comment("访问路径")]
        public string AccessUrl { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        [MaxLength(500)]
        [Comment("备注")]
        public string Remark { get; set; }
        [Comment("是否删除")]
        public bool IsDeleted { get; set; } = false;
        [Comment("租户Id")]
        public Guid? TenantId { get; set; }
    }
}
